#define _CRT_SECURE_NO_WARNINGS

//#include <stdio.h>
//
//int main()
//{
//    int n = 0;
//    scanf("%d", &n);
//    int arr[n];
//    for (int i = 0; i < n; i++)
//    {
//        scanf("%d ", &arr[i]);
//    }
//
//    if (n == 1)
//    {
//        printf("%d\n", arr[0]);
//    }
//    else
//    {
//        int* p1 = NULL;
//        int* p2 = NULL;
//
//        for (int i = 0; i < n; i++)
//        {
//            p1 = &arr[i];
//            p2 = &arr[i + 1];
//            int count = 0;
//            for (int j = i + 1; j <= n; j++)
//            {
//                if (*p1 == *p2 && *p2 != 0)
//                {
//                    count++;
//                    *p2 = 0;
//                    p2++;
//                }
//            }
//
//            if (count % 2 == 0)
//            {
//                printf("%d\n", *p1);
//            }
//        }
//    }
//
//
//
//    return 0;
//}


//int findPeakElement(int* nums, int numsLen)
//{
//    int* p1 = NULL;
//    int* p2 = NULL;
//    int* p3 = NULL;
//
//    if (numsLen == 1)
//    {
//        return 0;
//    }
//    else if (numsLen >= 2)
//    {
//        if (nums[numsLen - 1] > nums[numsLen - 2])
//        {
//            return numsLen;
//        }
//
//        if (nums[0] > nums[1])
//        {
//            return 0;
//        }
//
//        if (nums[1] > nums[0])
//        {
//            return 1;
//        }
//
//        for (int i = 0; i < numsLen; i++)
//        {
//            p1 = &nums[i];
//            p2 = &nums[i + 1];
//            p3 = &nums[i + 2];
//
//            if (nums[i + 1] > nums[i] && nums[i + 1] > nums[i + 2])
//            {
//                return i + 1;
//            }
//        }
//    }
//
//
//
//}


int findPeakElement(int* nums, int numsLen)
{
    int* p1 = NULL;
    int* p2 = NULL;
    int* p3 = NULL;

    if (numsLen == 1)
    {
        return 0;
    }
    else if (numsLen == 2)
    {
        if (nums[0] > nums[1])
        {
            return 0;
        }

        if (nums[1] > nums[0])
        {
            return 1;
        }

    }
    else if (numsLen > 2)
    {

        if (nums[0] > nums[1])
        {
            return 0;
        }

        if (nums[1] > nums[0] && nums[1] > nums[2])
        {
            return 1;
        }

        if (nums[numsLen - 1] > nums[numsLen - 2])
        {
            return numsLen - 1;
        }
        for (int i = 0; i < numsLen; i++)
        {
            p1 = &nums[i];
            p2 = &nums[i + 1];
            p3 = &nums[i + 2];

            if (nums[i + 1] > nums[i] && nums[i + 1] > nums[i + 2])
            {
                return i + 1;
            }
        }
    }


    return -1;

}